<template>
  <div class="home-singer">
    <h1>热门歌手</h1>
    <div class="wrapper" ref="wrapper">
      <ul class="content" ref="content">
        <!-- <滚动所需的容器> -->
        <li
          v-for="(item, index) in listData"
          :key="index"
          @click="selectItem(item)"
        >
          <div class="cover">
            <van-image :src="item.singer_pic" radius="l0" />
            <span>{{ item.access_num }}</span>
          </div>
          <span>{{ item.singer_name }}</span>
        </li>
      </ul>
    </div>
  </div>
</template>

<script>
import { betterScrollHorizontal } from "../../common/betterScroll.js";
// import { parse } from "path";
// import { filter } from 'vue/types/umd';
export default {
  data() {
    return {
      listData: [],
      pageNo: 1,
    };
  },
  /**
   * 一个vue实例被生成后会调用created函数
   * 一般可以在此函数中调用ajax获取页面初始所需要的数据
   */
  created() {
    this.getData(-100, this.pageNo, 10);
  },

  methods: {
    selectItem(item) {
      const id = item.singer_mid;
      // console.log(id);
      // this.$store.dispath('saveSing',item)
      // this.$store.commit('saveSinger',item)
      this.$store.dispatch("saveSinger", item);
      this.$router.push({ path: `/singer/${id}` });
    },

    getData(id, pageNo, pageSize) {
      this.$request("get", "/singer/list", {
        id,
        pageNo,
        pageSize,
      }).then((res) => {
        console.log(res);
        if (res.result == 100) {
          this.listData = res.data.list;
        }

        betterScrollHorizontal(
          this,
          this.$refs.wrapper,
          this.$refs.content,
          this.listData.length,
          10
        );
      });
    },
  },

  // methods:{
  //     //获取推荐歌单数据
  //     getData(){
  //         this.$request("get","/recommend/playlist",{
  //             id:59,
  //             pageNo:2,
  //             // pageSize:10
  //         }).then((res)=>{
  //             this.listData = res.data.list;
  //             this.betterScrollHorizontal(this.listData.length,10);
  //         });
  //     },
  //     //封装一个横向滚动的方法
  //     betterScrollHorizontal(num, itemWidth){
  //              //计算内容区（content）的宽度
  //             this.$refs.content.style.width = num * itemWidth + "rem";
  //             this.$nextTick(() => {
  //                 //wrapper为template中容器的ref,表时给那个元素来设置滚动
  //                 this.scroll = new BScroll(this.$refs.wrapper, {
  //                     scrollY:false,//关闭纵向滚动
  //                     scrollX:true,//横向滚动
  //                     startX:0,//横向滚动打开的开始位置
  //                 });
  //             });
  //     },
  //   },
  //   filters:{
  //     //   处理播放量的显示风格
  //     //   param num:小数位固定的位数
  //     //   param value:处理的数值
  // numFilter(value,num){
  //         // 把小数位固定位num位
  //         return parseFloat(value/10000).toFixed(num)
  //     },
  //   }
};
</script>

<style scoped>
.wrapper {
  width: 100%;
  overflow: hidden;
}
ul.content > li {
  width: 10rem;
  display: inline-block;
  vertical-align: top;
}
ul.content > li * {
  margin: 0 0.1rem;
}
ul.content > li > span {
  font-size: 0.8rem;
  color: #625858;
}
.cover {
  position: relative;
}
.cover > span {
  position: absolute;
  right: 0;
  bottom: 0.4rem;
  background-color: #a6a0a0;
  color: white;
  width: 5rem;
  border-radius: 1rem;
}
/* .home-recommond>ul{
    display: flex;
    flex-wrap: wrap;
}
.home-recommond>ul>li{
    width: calc((100% - 1rem) / 3 * 1);
}
.home-recommond>ul>li:nth-of-type(3n+2){
    margin-left: 0.5rem;
    margin-right: 0.5rem;
} */
/* .cover{
    position: relative; */
/* }
.cover>span{
    position: absolute;
    right: 0.2rem;
    bottom: 0.4rem;
    background-color: #a6a0a0;
    color: white;
    font-size: 14px;
    border-radius: 1rem;
    width: 5rem;
    display: inline-block;
} */
/* .wrapper{ */
/* width: 100%;容器的宽度就是屏幕的宽度 */
/* overflow: hidden;
} */
/* ul.content{ */
/* content内容区的宽度要大于wrapper容器的宽度，12个列表项 */
/* width: calc(12 * 10rem);
} */
/* ul.content li{ */
/* li默认是块级元素，修改为行内元素，但是要具备块级元素的特性 */
/* display: inline-block;
    width: 10rem;
    vertical-align: top; /* 垂直方向的位置 */
/* } 
/* li里面有两个元素：div和span，所以使用通配符 */
/* ul.content li * {
    margin: 0.1rem;/* 里面的元素与li的边缘有个间距 */
/* } 
/* ul.content li>span{
    font-size: 0.8rem;
    color: #54493b;
} */
</style>
